.TH std::sortable 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::sortable \- std::sortable

.SH Synopsis
   Defined in header <iterator>
   template< class I, class Comp = ranges::less, class Proj =
   std::identity >

   concept sortable =                                                     \fI(since C++20)\fP
       std::permutable<I> &&

       std::indirect_strict_weak_order<Comp, std::projected<I, Proj>>;

   The sortable concept specifies the requirements for algorithms that permute a range
   into an ordered range according to Comp.

   Semantic requirements

   std::sortable<I, Comp, Proj> is modeled only if all concepts it subsumes are
   modeled.

.SH See also

   ranges::sort             sorts a range into ascending order
   (C++20)                  (niebloid)
   ranges::stable_sort      sorts a range of elements while preserving order between
   (C++20)                  equal elements
                            (niebloid)
   ranges::partial_sort     sorts the first N elements of a range
   (C++20)                  (niebloid)
   ranges::nth_element      partially sorts the given range making sure that it is
   (C++20)                  partitioned by the given element
                            (niebloid)
   ranges::inplace_merge    merges two ordered ranges in-place
   (C++20)                  (niebloid)
   ranges::push_heap        adds an element to a max heap
   (C++20)                  (niebloid)
   ranges::pop_heap         removes the largest element from a max heap
   (C++20)                  (niebloid)
   ranges::make_heap        creates a max heap out of a range of elements
   (C++20)                  (niebloid)
   ranges::sort_heap        turns a max heap into a range of elements sorted in
   (C++20)                  ascending order
                            (niebloid)
   ranges::next_permutation generates the next greater lexicographic permutation of a
   (C++20)                  range of elements
                            (niebloid)
   ranges::prev_permutation generates the next smaller lexicographic permutation of a
   (C++20)                  range of elements
                            (niebloid)
